﻿Namespace Instrumentacao

    ''' <summary>
    ''' Interface de Log
    ''' </summary>
    ''' <remarks></remarks>
    Public Interface ILogger

        ''' <summary>
        ''' Sub de Log de erro - Nível de Erro Fatal
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <remarks></remarks>
        Sub Fatal(ByVal mensagem As String)

        ''' <summary>
        ''' Sub de Log de erro - Nível Erro
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <remarks></remarks>
        Sub [Error](ByVal mensagem As String)

        ''' <summary>
        ''' Sub de Log de erro - Nível de Aviso.
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <remarks></remarks>
        Sub Warn(ByVal mensagem As String)

        ''' <summary>
        ''' Sub de Log de erro - Nivel de Debug.
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <remarks></remarks>
        Sub Debug(ByVal mensagem As String)

        ''' <summary>
        ''' Sub de Log de erro - Nível de Informação.
        ''' </summary>
        ''' <param name="mensagem"></param>
        ''' <remarks></remarks>
        Sub Info(ByVal mensagem As String)

        ''' <summary>
        ''' Sub de Log de erro com exception - Nível de Erro Fatal
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <param name="exception">Exception</param>
        ''' <remarks></remarks>
        Sub Fatal(ByVal mensagem As String, ByVal exception As Exception)

        ''' <summary>
        ''' Sub de Log de erro com exception - Nível de Erro
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <param name="exception">Exception</param>
        ''' <remarks></remarks>
        Sub [Error](ByVal mensagem As String, ByVal exception As Exception)

        ''' <summary>
        ''' Sub de Log de erro com exception - Nível de Aviso
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <param name="exception">Exception</param>
        ''' <remarks></remarks>
        Sub Warn(ByVal mensagem As String, ByVal exception As Exception)

        ''' <summary>
        ''' Sub de Log de erro com exception - Nível de Debug
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <param name="exception">Exception</param>
        ''' <remarks></remarks>
        Sub Debug(ByVal mensagem As String, ByVal exception As Exception)

        ''' <summary>
        ''' Sub de Log de erro com exception - Nível de Informação
        ''' </summary>
        ''' <param name="mensagem">String</param>
        ''' <param name="exception">Exception</param>
        ''' <remarks></remarks>
        Sub Info(ByVal mensagem As String, ByVal exception As Exception)


    End Interface
End Namespace

